Systems and methods of matching customer preferences with available options

ABSTRACT

The present invention relates to systems and methods for matching customer preferences with available options determining customer needs which may be used for the purpose of facilitating the cruise selling and booking process. The cruise selling and booking system is designed to store customer information and preferences and use the information to query available cruise options. The results of the query represent optimized cruise selections for which the customer will be well suited. The user quickly accesses relevant cruise package and pricing information which may be used for detailed comparisons between individual cruise packages.

RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 60/168,871 filed Dec. 3, 1999, the disclosure of which is hereby incorporated by reference. In addition, this application is a continuation-in-part of U.S. patent application filed concurrently and entitled “SYSTEMS AND METHODS OF ON-LINE BOOKING OF CRUISES,” internal reference number TRAVL.002A, which is hereby incorporated by reference.

FIELD OF THE INVENTION

[0002] The present systems and methods relate to on-line booking of cruises and in particular concern applications designed to facilitate cruise booking and streamline the cruise selection process among a variety of available cruise packages.

BACKGROUND

[0003] The growth of the cruise industry has created an increase in the number of passenger cruise lines that sail each year. Each cruise line offers a variety of cruise packages, and the cruise packages vary depending on destination, sailing date, cruise ship, cabin category, excursions, special discounts, and so forth. While such variety offers great selection to potential customers, finding the cruise package that best fits the customer's budget and preferences is often a difficult task. As a result, travel agents spend large amounts of time and energy researching and booking cruises for customers.

[0004] Conventional approaches in the cruise industry fail to provide the travel agent with an integrated collection of tools capable of effectively managing the large number of available cruises. In many instances, there are more choices and options available than an agent has time to thoroughly describe. Additionally, the customer may become distracted by the quantity of information from all of the available cruises so as to make it difficult for the customer to select a cruise which best meets his needs. These problems create inefficiency in the cruise industry and affect both travel agents and customers alike.

[0005] Customers often seek the advice and guidance of travel agents to provide them with a variety of different cruises and available options, while at the same time, they rely on the travel agent to help limit the number of cruises that they must review. This reliance places a significant burden of responsibility upon the travel agent who is required to be knowledgeable about both the customer's preferences as well as the available cruises. The travel agent is then faced with the daunting task of matching a customer with a set of cruises that meet the customer's preferences. In addition, the agent must be ready to present these choices to the customer in a timely manner.

[0006] Conventional approaches to solving this problem in the cruise industry often lead to less than optimal results and do not provide the customer with a comprehensive set of available cruises. Because a travel agent is limited in the amount of time he can spend with each customer, a travel agent may only provide the customer with cruise choices with which the travel agent is most familiar. This limitation is a disservice to the customer as alternative choices may be available of which the travel agent is unaware or does not have time to find.

[0007] An additional problem is that travel agents spend large amounts of time determining the preferences of each individual customer, finding cruise packages that meets the customer's needs, and booking the cruise package. A travel agent spends, on average, well over one hour with each customer manually sifting through piles of paper documentation and is constantly on the phone with cruise lines to get current information, such as availability and pricing.

[0008] Another common problem relates to the varied pricing and cabin availability of cruise sailings. For each cruise sailing, there are typically a wide variety of pricings, luxury levels, features, and/or available activities. This complexity is further compounded by numerous special offers, discounts, group rates, and restrictions which may apply to the cruise sailing. As a result, a travel agent may encounter difficulty in obtaining the best price and/or quality cruise for the customer unless the agent devotes an undue amount of time to collecting customer information and researching every possible cruise package.

[0009] Thus, conventional approaches fail to provide effective methods for narrowing the choices of the many different cruises to provide the customer with a consolidated, yet comprehensive, series of cruises that are best suited for the customer. Furthermore, conventional approaches may not adequately consider customer preferences or eligibility when determining cruise availability. As a result, a travel agent's efficiency is hindered when dealing with multiple clients and may result in the non-optimal presentation of cruises to customers affecting both the quality of the cruise booking process experienced by the customers and the number of customers which are serviced by the travel agent.

SUMMARY OF THE INVENTION

[0010] One embodiment of the present invention is a method for selecting cruise sailings among a plurality of cruise packages utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs. The method comprises providing an electronic cruise sailing database wherein the electronic cruise sailing database includes detailed information about a plurality of cruise sailings for a plurality of cruise lines and receiving a set of customer preferences from a remote user's web browser. The method also comprises searching the electronic cruise sailing database for a subset of the cruise sailings that correspond to the set of customer preferences and returning the subset of the cruise sailings to the remote user's web browser for display as an electronic document.

[0011] Another embodiment of the present invention is a cruise qualification system for managing and suggesting cruise sailing data implemented in a web server environment wherein a plurality of remote users using web browser programs electronically communicate with the cruise qualification system via a data communications network. The cruise qualification system comprises an electronic cruise sailing database of cruise sailing data wherein the cruise sailing data includes data for at least two cruise lines, a customer query program module configured to send and receive queries to a user, wherein the queries include cruise preference data, and a cruise sailing search program module configured to search the electronic cruise sailing database for cruise sailing data that corresponds to the cruise preference data.

[0012] An additional embodiment of the present invention is a method for searching a cruise sailing and booking system for cruise sailing data using a web browser program to electronically communicate with a remote cruise web server via a data communications network. The method comprises submitting cruise preference data to the remote cruise web server, wherein the cruise preference data designates at least one of preferred sailing dates, preferred sailing length, preferred destination, and preferred sailing port and receiving from the remote cruise web server a set of cruise sailing data that matches or closely matches at least a portion of the cruise preference data, wherein the set of cruise sailing data is retrieved from an electronic cruise sailing database of cruise sailing data for a plurality of cruise lines.

[0013] Another embodiment of the present invention is a method for selecting cruise package information utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs. The method comprises receiving a range of search criteria from a remote user's web browser program, obtaining cruise package information for a plurality of cruise lines that relates to the range of search criteria from an electronic database of cruise line data, and outputting the cruise package information to the remote user's web browser for display in an electronic document.

[0014] An additional embodiment of the present invention is a network node in a network comprising a user node having a browser program coupled to the network, the user node providing request for information on the network. The network node comprises a cruise booking node responsive to a request to obtain cruise package information from the user node that relates to a range of search criteria received from said user node, wherein the cruise package information includes information from at least two cruise lines.

[0015] Another embodiment of the present invention is a cruise selling system for selecting cruise package information implemented in a web server system wherein a plurality of remote users communicate via a data communications network with the cruise selling system using web browser programs. The cruise selling system comprises an electronic database of cruise pricing information wherein the cruise pricing information comprises information from different cruise lines and a software module programmed to receive a range of search criteria. The cruise selling system also comprises a software module programmed to obtain cruise price information from the electronic database related to the range of search criteria and a software module programmed to output cruise package information.

[0016] An additional embodiment of the present invention is a system for finding cruise package information that corresponds to a user's preferences implemented in conjunction with a web browser program wherein the web browser program communicates with a remote cruise web server system via a data communications network. The system comprises a user preference programming module configured to send a set of user preferences to the remote cruise web server system and a display programming module configured to receive a display of cruise package and pricing information corresponding to the set of user preferences.

[0017] Another embodiment of the present invention is a method for selecting cruise sailings among a plurality of cruise packages utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs. The method comprises means for providing an electronic cruise sailing database wherein the electronic cruise sailing database includes detailed information about a plurality of cruise sailings for a plurality of cruise lines and means for receiving a set of customer preferences from a remote user's web browser. The method also comprises means for searching the electronic cruise sailing database for a subset of the cruise sailings that correspond to the set of customer preferences and means returning the subset of the cruise sailings to the remote user's web browser for display as an electronic document.

[0018] An additional embodiment of the present invention is a method for searching a cruise sailing and booking system for cruise sailing data using a web browser program to electronically communicate with a remote cruise web server via a data communications network. The method comprises means for submitting cruise preference data to the remote cruise web server, wherein the cruise preference data designates at least one of preferred sailing dates, preferred sailing length, preferred destination, and preferred sailing port and means for receiving from the remote cruise web server a set of cruise sailing data that matches or closely matches at least a portion of the cruise preference data, wherein the set of cruise sailing data is retrieved from an electronic cruise sailing database of cruise sailing data for a plurality of cruise lines.

[0019] For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF DRAWINGS

[0020] These and other features will now be described with reference to the drawings summarized below. These drawings and the associated description are provided to illustrate embodiments of the invention and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.

[0021]FIG. 1 illustrates a high-level block diagram of one embodiment of the present invention.

[0022]FIG. 2A illustrates a high-level block diagram of one embodiment of the present invention.

[0023]FIG. 2B illustrates a high-level block diagram of an additional embodiment of the present invention.

[0024]FIG. 3A illustrates a high-level block diagram of one embodiment of the present invention.

[0025]FIG. 3B illustrates a high-level block diagram of an additional embodiment of the present invention.

[0026]FIG. 4 illustrates a high-level block diagram of one embodiment of a qualification module.

[0027]FIG. 5 illustrates a flow chart of one embodiment of employing a customer information acquisition process during customer qualification.

[0028]FIG. 6 illustrates a flow chart of one embodiment of employing a pre-qualification process during customer qualification.

[0029]FIG. 7 illustrates a flow chart of one embodiment of employing a qualification query process during customer qualification.

[0030]FIG. 9 illustrates one embodiment of a qualification display.

DETAILED DESCRIPTION

[0031] Systems and methods which represent various embodiments and example applications of the invention will now be described with reference to the drawings. Variations to the systems and methods which represent other embodiments will also be described. In one disclosed embodiment, the systems and methods are used to match a customer's preferences with a variety of options and are described in the context of a cruise selling and booking system. The inventors contemplate that the present invention is not limited by the type of environment in which the determination of the customer's preferences is made, and that other types of environments may be used, such as, for example, a real estate system, an airline travel system, a car rental system, a car sales system, and so forth. The figures and descriptions, however, relate to embodiments of the invention wherein the determination is made for a customer or agent desiring to narrow a list of available cruise choices to those cruises which are most appropriate for the customer.

[0032] The present invention relates to a systems and methods for matching a customer's preferences with a variety of options for the purpose of facilitating the cruise booking process. More specifically, large quantities of cruise information, which may comprise information describing hundreds, if not thousands, of cruises from various cruise lines are processed to produce a refined subset of cruise information and is herein referred to as customer qualification.

[0033] Customer qualification provides the customer and/or agent with refined cruise information which better reflects cruises which will likely be of interest to the customer and reduces and/or excludes inappropriate or extraneous cruise information. Using the systems and methods described herein, a travel agent may better service customers in a more efficient manner, thereby reducing the time required to research appropriate cruise information, providing additional, detailed cruise information based on customer preferences, and creating a comprehensive summary relating to the available cruises. The customer benefits from the aforementioned systems and methods by the increased speed and ease of the cruise selling and booking transaction as well as the narrowing of the possible cruise choices to those that are likely to be most appropriate for the customer. In some instances, the cruise information refinement process results in the customer's ability to book a higher quality or more luxurious cruise which might have been otherwise overlooked using conventional methods of cruise selling and booking.

[0034] In one embodiment, these features are integrated into a cruise selling and booking system that automatically manages the administrative tasks used to determine the customer needs and preferences. Furthermore, the cruise selling and booking system includes searching and matching functionality to determine which cruises best meet with the criteria set forth by the customer preferences. Additionally, the cruise selling and booking system includes functions to provide a refined subset of available cruise information wherein the cruise information is directed towards the customer needs and preferences. It is recognized, however, that in other embodiments, the processes designed to determine customer needs may be integrated into other types of systems.

[0035] One benefit of one embodiment is that customer qualification facilitates the cruise selling and booking process wherein a customer may compare available cruise options and book a cruise based on detailed and up-to-date information. More specifically, customer qualification provides a flexible method to assess customer attributes and incorporate these attributes into a search query which returns a subset of results likely to be of interest to the customer. By breaking down the query into subsets of query information, important questions may be answered which may include, for example, how much the customer can afford, what kinds of activities the customer enjoys, the type of cruise which will satisfy the customer, and the level of luxury the customer desires. Furthermore, customer qualification helps to ensure that the travel agent is provided with sufficient information to find and present potential cruises that will suit the customer.

[0036] Another benefit of one embodiment is that customer qualification may serve as a preliminary screening aid to facilitate pricing comparisons. By removing cruises which do not meet a customer's needs, customer qualification narrows the choices presented to the customer so as to speed up the decision making process. The customer is presented with the best options from a large quantity of available cruises. In another aspect, by using the qualification process to funnel through the often large amounts of cruise information in a short period of time, both the travel agent and customer benefit by reducing the time spent assessing non-optimal cruise information and improving the booking experience of the customer.

[0037] An additional benefit of one embodiment is that the customer is able to find and book cruises in a more efficient manner saving the user time. The cruise selling and booking system provides a tool for readily accessing up-to-date, accurate cruise information without spending the large amount of time often required when telephoning the cruise lines one-by-one to collect cruise information and to book a cruise.

[0038] I. Overview

[0039] In one embodiment, the systems and methods may be used in the context of a cruise selling and booking system 110. FIG. 1 illustrates the cruise selling and booking system 110 of one embodiment wherein a plurality of customers, agents, and cruise lines interact with the cruise selling and booking system 110 via communication mediums 120. Cruise lines may interact directly with the cruise selling and booking system 110 and/or via a cruise line interface system 130 that stores information for one or more cruise lines. The cruise selling and booking system 110, in the illustrated embodiment, provides an interactive tool for compiling, reviewing, and processing information obtained from the cruise lines, customers, and agents. The customer is presented with information about various cruises packages and may book a cruise package utilizing the components of the cruise selling and booking system 110 through interaction with an agent.

[0040] In one embodiment, systems and methods for determining customer needs through customer qualification may commence with a customer interacting with an agent who has the expertise and resources to efficiently assist the customer through the cruise selling and booking process as illustrated in FIG. 2A.

[0041] Using the agent computer 240, the agent accesses the components of the cruise selling and booking system 110 to find information about the customer, to provide the customer with information about cruise sailings from the cruise line database 234, and to book cruise packages as desired by the customer. Additionally, the agent may collect and store information about the customer in the customer database 232 and may further access resources of the agent database 238. In one embodiment, the agent database 238 stores information relating to the agents and their customers allowing the agents to better manage customer communication, scheduling, and interactions.

[0042] In one embodiment, a customer may also access the cruise selling and booking system 110 without necessarily interacting with an agent as illustrated in FIG. 2B. For example, a customer may connect to the cruise selling and booking system 110 via a web based service by utilizing a standard web browser on his own computer to connect to the cruise selling and booking system 110 web page. In one embodiment, should the customer desire the assistance of an agent, the cruise selling and booking system 110 may store the information entered by the customer in the database collection 230. An agent with access to the cruise selling and booking system 110 may subsequently retrieve the information. This feature provides improved customer/agent interactivity by saving the customers from repeating information previously stored in the cruise selling and booking system 110 to each agent with whom they interact. As it is recognized that both customers and agents may access the cruise selling and booking system 110, the term “users” will be used herein to refer to customers and/or agents.

[0043] In one embodiment, the qualification process is used to select a subset of cruise information from a large number of available cruise sailings and to reduce the complexity of information and choices typically associated with each cruise sailing. The refinement of cruise information is useful in that it narrows the number of cruise booking choices that are presented to the customer. Furthermore, the qualification process may improve the percentage of customers who book cruises and help ensure that customers are satisfied with their selection by knowing that their choice was made from a comprehensive set of cruise choices and options.

[0044] In one embodiment, the cruise selling and booking system 110 recognizes the refinement of cruise information through the customer qualification process. The cruise selling and booking system 110 may implement qualification through a series of steps which progressively refine the selection criteria for available cruises. Functionality for qualification using stored customer information in the cruise selling and booking system 110 and/or newly entered customer information provides flexibility in the manner in which the qualification process is performed. The customer information used in the qualification process may comprise customer preferences, personal information, and other information useful in narrowing the search criteria for acceptable cruises. Additionally, the cruise selling and booking system 110 may use the information gathered by customer qualification processes to identify cruises or packages with special eligibility requirements which might be otherwise overlooked or unknown by either the travel agent or the customer.

[0045] Customer qualification improves the efficiency with which the customer is serviced by providing a comprehensive search of available cruises and narrowing the number of cruises which must be compared. The narrowing process limits or eliminates cruises which do not match the criteria set by the customer information. Thus, the agent may quickly provide the customer with available cruise options which may be desirable to the customer. Another aspect of the customer qualification process ensures that the time spent by both the customer and the agent is focused on dealing with “viable” cruise selections rather than complicated by sorting through a large number of available cruises which may not be relevant or desirable to the customer.

[0046] II. Cruise Selling and Booking System

[0047] An overview of one embodiment of a cruise selling and booking system 110 is shown in FIG. 2A. In the exemplary system, a customer communicates with an agent via telephone and the agent uses a computer (hereinafter “agent computer 240”) to connect to the Internet 125 to communicate with the cruise selling and booking system 110. While the figure illustrates communication between the agent and customer via telephone, it is recognized that the communication between the customer and the agent may take any of a number of forms including in-person conversations, mailed correspondence, email, facsimile, and so forth. Additionally, the customer may use a computer (hereinafter “customer computer 250”) to interact with the agent through online methods which may include email correspondence, live “chat” methods, dedicated software programs designed to facilitate online communication, and the like. In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230. In one embodiment, the database collection 230 includes a customer database 232, a cruise line database 234, an activity database 236, and an agent database 238. It is recognized that the information stored in the database collection 230 may be discretely stored in multiple independent databases, combined in a single database, or a combination thereof.

[0048] In one embodiment, the agents and/or customers interact with computers to access the cruise selling and booking system 110 via communication mediums 120.

[0049] A. Communication Mediums

[0050] The communication mediums 120 as shown in FIGS. 2A and 2B include the Internet 125. The Internet 125 is a global network of interconnected computers capable of sending and receiving information between one another. The structure of the Internet 125, which is well known to those of ordinary skill in the art, includes a network backbone comprising communications channels such as copper wire, optical fiber, or satellite based interconnections between numerous computers, hubs, and routers which control, direct, and maintain information passed between computers. Additional networks branch from the above-mentioned backbone, and these branches, in turn, have sub-networks branching from them, and so on. Typically, information is passed through the network in the form of packets which are discrete pieces the information desirably sent through the network. These packets of information are encoded in a form interpretable by the network infrastructure and may support features such as data compression, encryption, and error correction to optimize the speed and efficiency by which the information is transferred. For a more detailed description of the structure and operation of the Internet 125, please refer to “The Internet Complete Reference,” by Harley Hahn and Rick Stout, published by McGraw-Hill, 1994.

[0051] One popular segment of the Internet 125 is the World Wide Web (or Web). The World Wide Web comprises many thousands of computers which utilize the Internet 125 infrastructure to serve and distribute information. Typically, a server system is capable of two-way communication with other computers and can desirably send information to other computers which request the information or content stored on the server system. The information stored on the server system is typically interpreted using a software package known as a browser, which is capable of displaying graphical, textual, audio and/or visual information.

[0052] Some of the server systems, which provide information on the World Wide Web, are often referred to as “websites” and interact with other computers on the World Wide Web. Generally, each website has an associated electronic page or series of electronic pages which the server sends to those computers requesting the information. The requested information generally takes the form of an electronic page (or web page) encoded in one or more specific languages that is interpreted by the requesting computer and the browser which it runs. Several such languages commonly used by web servers include, but are not limited to, Hypertext Markup Language (“HTML”), JAVA, JAVA Script, Extensible Markup Language (“XML”), Active Server Pages (“ASP”), and CGI scripting. The web page provides the requesting computer with a document that organizes the presentation of the information into a display using text, graphical images, audio, and/or video. Furthermore, the computer, on which the online document is viewed, may communicate with the website by sending and receiving information through interface objects such as, for example, fields, buttons, pull down menus, and key entered commands. For a more detailed description on the World Wide Web, please refer to “How to Set Up and Maintain a World Wide Web Site” by Lincoln D. Stein, published by Addison-Wesley Publishing Company, 1995.

[0053] One of ordinary skill in the art will recognize that the communication mediums 120 may be advantageously be comprised of one or more types of networks without detracting from the invention. The communication mediums 120 may include, by way of example, local area networks (“LANs”), wide area networks (“WANs”), public internets, private internets, a private computer network, a secure internet, a private network, a public network, a value-added network, interactive television networks, wireless data transmission networks, two-way cable networks, interactive kiosk networks, digital subscriber lines, cable modem lines, and the like. The disclosed invention is thus suitable for providing connectivity through many different forms of communication mediums 120, however, it will be further discussed in the context of connecting through the Internet 125. In addition, it is recognized that one or more networks may be used to access the cruise selling and booking system 110. For example, a customer may interact with the cruise selling and booking system 110 via the Internet 125, an agent may interact with the cruise selling and booking system 110 via a LAN, and/or the cruise lines may interact with the cruise selling and booking system 110 via a wireless data transmission network. In another embodiment, the customers, agents, and cruise lines may all access the cruise selling and booking system 110 via the Internet 125.

[0054] B. User Computer

[0055] The agent computer 240 and/or customer computer 250 (“user computers 240, 250”) shown in FIGS. 2A and 2B are devices that allow the customer or agent to interact with cruise selling and booking system 110 via the communication mediums 120. In one embodiment, the user computer 240, 250 is a conventional personal computer equipped with a modem, Ethernet card, or other component which allows the computer to send and receive information through the communication mediums 120. Preferably, the user computer 240, 250 runs an appropriate operating system such as the Microsoft® Windows(® 3.1, Microsoft® Windows® 98, Microsoft® Windows® 98 Second Edition®, Microsoft® Windows® Millennium Edition®, Microsoft® Windows® NT, Microsoft® Windows® 2000, Microsoft® Windows® CE, PalmOS®, Apple® MacOS®, Linux®, Solaris®, IRIX®, UNIX(®, or IBM® OS/2® operating systems. As is conventional, a preferred operating system further includes a TCP/IP stack or other communications protocol which handles all incoming and outgoing message traffic passed over the communication mediums 120.

[0056] In other embodiments, the user computer 240, 250 may, for example, be a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, cellular phone, or the like which interacts with the communication mediums 120. While in such systems, the operating systems may differ, the various operating systems may continue to provide the appropriate communication protocols needed to establish communication links with the communication mediums 120.

[0057] In one embodiment, the user computer 240, 250 utilizes several operational modules (not shown) including a customer or agent browser module. The browser module is a software program which allows a consumer to access different content providers through the communication mediums 120. In one embodiment, the browser module is the Netscape® Navigator developed by Netscape, Inc. or the Microsoft® Internet Explorer developed by Microsoft Corporation. One of ordinary skill in the art, however, will recognize that numerous other types of access software may also be used to implement an embodiment of the present invention. These other types of access software may, for example, include other types of Internet browsers, custom network browsers, two-way communications software, cable modem software, point-to-point software, and the like.

[0058] While the agent computer 240 and customer computer 250 are referred to as user computers 240, 250, it is recognized that the agent computer 240 and the customer computer 250 may be implemented using different or the same hardware and/or software.

[0059] C. Cruise Selling and Booking System

[0060] In one embodiment, the cruise selling and booking system 110 includes a server component 210, a cruise selling and booking component 220, and a database collection 230 as illustrated in FIG. 3A.

[0061] As used herein, the words component and module refer to logic embodied in hardware or firmware or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++, VISUAL BASIC, JAVA, C, FORTRAN, JAVA Script, and so forth. A software component/module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software components/modules may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components/modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The components described herein are preferably implemented as software components/modules, but may be represented in hardware or firmware.

[0062] 1. Server Component

[0063] In one embodiment, the cruise selling and booking system 110 includes a server component 210, as shown in FIG. 3A, that interacts with the cruise selling and booking component 220 and with the user computers 240, 250 via the communication mediums 120. The server component 210 may be configured to process messages from the user computer, to send requests to the cruise selling and booking component 220, and to send response messages to the user computer.

[0064] In one embodiment, the server component 210 is implemented as a web server which serves content over the Internet 125 using languages such as, the Hyper Text Markup Language (“HTML”). The web server may accept requests from browsers, such as, for example, the Netscape® Navigator or the Microsoft® Internet Explorer, and return the requested document(s) to the browsers. The web server may also utilize scripting programs, such as, for example, CGI scripts, SSL security, and Active Server Pages (“ASP”) to provide additional functionality. A wide variety of web servers may be used to implement the server component 210, such as, for example, AOLserver, the Apache server, the iServer, Microsoft IIS v5.0 server, Microsoft Site server, Netscape Enterprise server, WebSite Pro server, Xitami server, and so forth. Furthermore, the server component 210 may also be implemented using a variety of other servers, such as, for example, the BlueStone Sapphire server, the Interop server, a Netscape Server, an Oracle server, a SilverStream server, the Sybase Enterprise Server, the WebObjects server, and so forth. In addition, the server component 210 may be implemented using a variety of computer systems, such as, for example, a conventional general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor, running a variety of platforms, such as, for example, Mac OS, OpenLinux, Red Hat Linux, Sun Solaris, SGI IRIX, Novel NetWare, Windows NT Server 4.0, and/or Windows 2000 Server.

[0065] 2. Cruise Selling and Booking Component

[0066] In one embodiment, the cruise selling and booking system 110 includes a cruise selling and booking component 220, as shown in FIG. 3A, that interacts with the server component 210 and the database collection 230. In other embodiments, it is recognized that the cruise selling and booking component 220 may also interact with external sources, such as, for example, proprietary cruise line systems, banking/financial systems, other travel agencies, external databases, and so forth. In one embodiment, the cruise selling and booking component 220 processes search requests from the server component 210, queries the database collection 230 and/or external sources for requested information, receives the query results from the various sources, processes the results, compiles the results into a set of data, and formats the results for presentation to the user via the server component 210.

[0067] The exemplary cruise selling and booking component 220 of FIG. 3A includes a cruise selling and booking process 310, a customer module 320, a cruise module 330, and a booking module 340. The cruise selling and booking process 310 guides the user through searching for cruise packages and booking a selected package. The exemplary customer module 320 includes a customer add process 322 that adds new customers to the customer database 232, a customer search process 324 that queries the customer database 232, and a customer update process 326 that updates an existing customer's information. The exemplary cruise module 330 includes a cruise information add process 332 that adds information about the cruise lines, the cruise ships, the cruise sailings, and/or the cruise packages to the cruise database, a cruise search process 334 that queries the cruise database, a cruise qualification process 336 that receives a set of cruise preferences and finds cruise sailing and/or cruise price information that matches the set of cruise preferences, and a cruise comparison process 338 that receives identifiers for multiple cruise sailings or packages and returns detailed information about the identified objects in a comparison format. The exemplary booking module 340 includes a cruise booking process 342 that receives cruise reservation/booking information and books the corresponding cruise package, and a cruise payment process 344 that receives cruise payment information and forwards the payment information to the appropriate entity.

[0068] An additional embodiment of a cruise selling and booking component 220 is illustrated in FIG. 3B. In addition to the customer module 320, the cruise module 330, and the booking module 340, the cruise selling and booking component 220 also includes an agent ownership module 350 configured to track and manage agent of record relationships, a customer qualification module 360 configured to match a customer's preferences with a variety of cruise package options, a price comparison module 370 configured to present the user with pricing options and to provide price matrices of detailed pricing information, and a comparison module 380 configured to provide side-by-side comparisons of various cruise package and pricing information.

[0069] It is recognized that in other embodiments, the cruise selling and booking component 220 may include other processes (not shown) that provide information from the database collection 230 as well as other external sources.

[0070] The cruise selling and booking component 220 may be implemented using a variety of software and hardware components. For example, the cruise selling and booking component 220 may include a set of electronic page documents that are written in HTML code, ASP scripts, and so forth. As is well known in the art, standard HTML documents are web documents wherein the structure and layout are defined by a variety of tags and attributes and are capable of being read by standard browsers. Active Server Pages (“ASP”) is a server-based, script language developed by Microsoft Corporation that allows for the dynamic generation of HTML code via server and client program scripts. Rather than maintain separate script programs and electronic page documents, the script programs may be embedded in the active server pages to form a set of “smart” electronic page documents. As is well known in the art, ASP documents do not need to be compiled, they can run on any browser, and may allow the transfer of information from the database collection 230. For a more detailed description of Active Server Pages, please refer to “ASP in a Nutshell: A Desktop Quick Reference,” by A. Keyton Weissinger, published by O'Reilly & Associates, Inc., 1999.

[0071] In addition, the cruise selling and booking component 220 may include additional software modules programmed in variety of languages for processing user requests, performing data lookup, compiling sets of data, formatting data, and so forth.

[0072] In one embodiment, the cruise selling and booking component 220 is implemented on the same component as the server component 210, though it is recognized that in other embodiments, the cruise selling and booking component 220 may be implemented in a separate component. For more information on the types of computers and/or platforms that may be used to implement the cruise selling and booking component 220, please see the section above entitled “Server Component.”

[0073] 3. Database Collection

[0074] In one embodiment, the cruise selling and booking system 110 includes a database collection 230, as shown in FIGS. 3A and 3B, that stores data about the customers, the cruises lines, the activities, and the agents. The exemplary database collection 230 includes four databases, a customer database 232, a cruise line database 234, an activity database 236, and an agent database 238.

[0075] The customer database 232 includes information about the customers. Such information may include name, address, phone number, cruise history, cabin preference, family information, age, travel destination preference, as well as other travel-related information.

[0076] The cruise line database 234 may include information about various cruise lines, various cruise ships, and various cruise sailings. The information about specific sailings may further include information such as ship name, number, sailing destination, departure dates, number of cabins, cabin categories, dining room capacity, viewable maps of the ship, as well as other detailed cruise line information. In addition, the cruise line database 234 may include information such as cabin availability and pricing data. In one embodiment, the cruise line database 234 data may be entered manually by a travel agent or downloaded/received from the cruise lines and/or other sources.

[0077] In one embodiment, the cruise line database 234 enables information about the various cruise lines to be stored in a single database or database collection. The cruise lines have a myriad of data that is organized differently according to each cruise line. For example, the cruise lines tend to use their own proprietary naming and pricing schemes; they individually select how the data is selected, stored, and configured; and some cruise lines may provide data that other cruise lines do not. For example, many cruise lines use their own system for categorizing cabins and have also use their own pricing schemes.

[0078] In some embodiments, the cruise line database 234 may normalize all of the data from the various cruise lines into a uniform system. In other embodiments, the cruise line database 234 may be configured to accommodate a wide variety of data. For example, the cruise line database 234 may include a table of categories in which each cruise line may have its own unique set of categories ranked from most luxurious to most economical thus maintaining the individuality of each cruise line while at the same time enabling the various cruise line data to be compared. The cruise line database 234 may, for example, provide pricing information for the most luxurious cabins for cruise sailings on Cruise Line A and Cruise Line B even though the cruise lines use different cabin naming nomenclature and different category structures.

[0079] The activity database 236 includes information about the activities in the cruise selling and booking system 110. These activities may include brochures, leads, quotes, reservations, bookings, as well as other ongoing activity information. In one embodiment, the activity database 236 is closely linked with the customer database 232, the cruise line database 234, and the agent database 238.

[0080] The agent database 238 includes information about the agents that use the cruise selling and booking system 110. Agent information may include the agents' logins, passwords, access privileges, company, address, phone numbers, booking history, current commission, and so forth.

[0081] While the database collection 230 depicted in FIGS. 3A and 3B includes four separate databases, it is recognized that in other embodiments, the database collection 230 may include other databases and/or some of the exemplary databases may be combined.

[0082] In one embodiment, the database collection 230 may be implemented with Structured Query Language (“SQL”) code. The structured query language is a language standardized by the International Standards Organization (“ISO”) for defining, updating, and querying a relational database. It is recognized however, that other code may be used to access the database collection 230. For example, in one embodiment, the database collection 230 may interact with various accessory programs to store, retrieve, and process the information of the databases, such as, for example, dynamic link libraries (“DLLs”). DLLs (not shown) may interact with the server component 210, the cruise selling and booking component 220, and the database collection 230 directly, or with the database collection 230 via a database manipulation module, such as, for example, a Microsoft Database Access Object (“DAO”). The execution of the DLL may be called automatically from within the scripts or routines of the web page documents as needed and may not necessarily require the customer or agent explicitly launch a separate program or series of programs.

[0083] In one embodiment, the database collection 230 is implemented using a relational database, such as, for example, those sold by Oracle Corp. or Sybase. It is recognized however that other relational databases may be used and/or other types of databases may be used, such as, for example, object oriented databases, flat file databases, and so forth. Furthermore, the database collection 230 may be implemented as a single database with separate tables or as other data structures that are well know in the art such as linked lists, binary trees, and so forth.

[0084] In one embodiment, the database collection 230 is implemented as a separate component or separate components from the cruise selling and booking component 220 and/or the server component 210, though it is recognized that in other embodiments, the database collection 230 may be implemented on the same component as the cruise selling and booking component 220 and/or the server component 210. For more information on the types of computers and/or platforms that may be used to run the database collection 230, please see the section above entitled “Server Component.”

[0085] As noted above, one embodiment that is implemented using a web server (“web server environment”) provides several advantages. First, the web server environment does not require any dedicated hardware or software to be installed on the customer or agents computer which will utilize the cruise selling and booking system 110. This advantage may apply to both customers and agents in that they do not have the burden of expense normally associated with purchasing or licensing a dedicated system. Second, maintenance and upgrades of the cruise selling and booking system 110 may be centrally administrated and automatically processed with little or no intervention by those using the cruise selling and booking system 110. For example, the cruise line database 234 may be updated without the customer's knowledge. In addition, each computer which connects to the cruise selling and booking system 110 automatically receives and connects with the most appropriate software as determined by the web server of the cruise selling and booking system 110. In addition, the interactive interface of the cruise selling and booking system 110, like many interactive web pages, uses the familiar environment of a web browser running on the computer the customer or agent uses, thus, minimizing the learning time required to operate and become proficient with the cruise selling and booking system 110.

[0086] A detailed description of embodiments of a cruise selling and booking system 110 is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF ON-LINE BOOKING OF CRUISES,” internal reference number TRAVL.002A, which is incorporated herein by reference. A detailed description of embodiments of a compare display is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF COMPARING PRODUCT INFORMATION,” internal reference number TRAVL.017A, which is incorporated herein by reference. A detailed description of embodiments of pricing options and price matrices is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF DISPLAYING CRUISE LINE PRICING DATA,” internal reference number TRAVL.018A, which is incorporated herein by reference. A detailed description of one embodiments of managing agent ownership is disclosed in a concurrently filed application having the title “SYSTEMS AND METHODS OF MAINTAINING CLIENT RELATIONSHIPS,” internal reference number TRAVL.019A, which is incorporated herein by reference.

[0087] III. Customer Qualification Module

[0088] In one embodiment, the cruise selling and booking component 220 includes a customer qualification module 360 (“qualification module 360”) used to match a customer's preferences with a variety of cruise package options thereby narrowing the number of cruise packages that are presented to the user. One embodiment of a customer qualification module 360 includes a customer information acquisition process 410, a pre-qualification process 420, a qualification query process 430, as well as additional processes 440 as illustrated in FIG. 4. For more information on the processes, please refer to the section below entitled “Customer Qualification Processes.”

[0089] In one embodiment, the customer qualification module 360 is implemented using one or more of a variety of technologies such as, C++, VISUAL BASIC, JAVA, JAVA Script, Active Server Pages (“ASP”), Extensible Markup Language (“XML”), as well as other scripting language that may be used to dynamically retrieve, generate, process, and/or format the data for a web document.

[0090] As used herein, the word module, whether in upper or lower case letters, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++. A software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.

[0091] IV. Customer Qualification Processes

[0092] In one embodiment, the customer qualification module 360 includes several processes such as a customer information acquisition process 410, a pre-qualification process 420, a qualification query process 430, as well as additional processes 440.

[0093] A. Customer Information Acquisition Process

[0094]FIG. 5 illustrates one embodiment of the customer information acquisition process 410 used during customer qualification to collect personal information from the customer. The collected information may then be used to narrow the number of cruises presented to the customer to those cruises which are most appropriate. Beginning at a start state (block 500), the customer information acquisition process 410 proceeds to the next state and receives a customer identifier (block 505). In one embodiment, this state may require the input of a customer identifier such as a customer's name or customer ID to be used in subsequent steps in the process. A customer identifier may be submitted, for example, when the user logs onto the cruise selling and booking system 110. In the case of a customer login, the login name and password entered by the customer may be keyed to reference the actual name, ID, and customer information stored within the cruise selling and booking system 110. Proceeding to the next state (block 510), the customer information acquisition process 410 determines whether the supplied customer name or ID matches any records present in the customer database 232. If a customer database 232 match is found, the corresponding record with the customer profile is retrieved (block 515). If the customer record does not exist, a new customer profile is created (block 520) wherein the customer information acquisition process 410 queries the user for information for at least a portion of the fields of the customer profile before proceeding to the next state. The information in the customer profile may include general information identifying the customer, such as, for example, name, age, address, contact information, gender, marital status, family members, group or organization affiliation, and the like. Upon successfully retrieving (block 515) or creating (block 520) a customer profile, the customer information acquisition process 410 proceeds to an edit state (block 525) where the customer profile may be presented to the user for viewing and/or editing. Upon completion of the customer profile edits, the profile may be stored in the customer database 232 (block 530) and the customer information acquisition process 410 awaits user input (block 535) indicating whether the user desires to proceed with a customer pre-qualification process 420 (block 540) or wishes to exit the customer information acquisition process 410 (block 545).

[0095] It is recognized that the customer information acquisition process 410 may be implemented differently in other embodiments. For example, the customer information acquisition process 410 may store the customer profile at any time during the creation or editing functions of the customer information acquisition process 410 and/or the customer information acquisition process 410 may skip the edit customer profile state.

[0096] B. Pre-Qualification Process

[0097]FIG. 6 illustrates one embodiment of a pre-qualification process 420. As illustrated in FIG. 6, after the customer information has been collected, in one embodiment, the cruise selling and booking system 110 may proceed to a start state (block 605). Upon entering this process, the pre-qualification process 420 (block 610) queries the user to determine whether the user would like to view a pre-qualification summary. If so indicated by the user, then the pre-qualification process 420 retrieves the pre-qualification summary, sends the pre-qualification summary to the user (block 615), and proceeds to the next state (block 620). Should the user not wish to view the pre-qualification summary, the pre-qualification process 420 proceeds to block 620.

[0098] In one embodiment, the pre-qualification summary information includes information which may aid the user guiding the customer through the remainder of the pre-qualification process 420. This information may include a summary of brochures and advertising sent to or encountered by the customer, customer travel history relating to previous cruises or other vacations booked or taken by the customer, and notes or reminders used to record items of interest which may be useful in distinguishing a particular customer or his travel habits.

[0099] Further functionality may be provided by the pre-qualification process 420 to permit access to the stored customer information allowing additional information (which may be in the form of brochures, advertisements, or other information) to be automatically sent to the customer as requested. In one embodiment, the customer qualification module 360 updates the pre-qualification summary as needed to indicate the materials sent to the customer. In a like manner, the user may collect information regarding a customer's travel habits, history, or notes which may further be added to the existing pre-qualification summary as needed or desired.

[0100] In block 620, the pre-qualification process 420 queries the user for booking preferences which are used to further narrow the selection of cruise sailings. More specifically, the booking preferences may provide a number of criteria for establishing the specific type of cruise the customer would like to book. The information collected may include, for example, desired occupancy per cabin, range of desired travel dates, the preferred region of the world, specific destination, trip duration, acceptable days of the week upon which the cruise may depart, the embarkation port or point of origin of the cruise, specific cruise package suppliers, and/or specific ships. In another embodiment, the booking preferences are used to restrict the cruise preferences to exclude cruise sailings which include undesirable cruise options. For example, a particular cruise line or cruise ship may be specifically excluded from the qualification results.

[0101] After collecting the booking preferences of the customer, the pre-qualification process 420 proceeds to the next state wherein additional search criteria may be obtained (block 625) from the user to further narrow the search. The search criteria may include other factors which aid in the cruise selection process including indications of the degree of flexibility the customer has with regard to the type, time, or destination of the cruise; special restrictions which might apply to the desired cruise including handicaps or food requests; special discounts or eligibility requirements for which the customer may be entitled, such as, for example, participation in various organizations, membership in particular societies, or residency in certain states; as well as other criteria that may be used by the cruise lines when booking particular cruise sailings.

[0102] After the search criteria has been received, the pre-qualification process 420 awaits for user input (block 630) indicating whether the user desires to proceed with a customer qualification query process 430 (block 635) or wishes to exit the qualification process (block 640).

[0103] It is recognized that the pre-qualification process 420 may be implemented differently in other embodiments. For example, the pre-qualification process 420 may store information obtained during any step of the process in the customer database 232 and may further retrieve this information at any time to resume at the point where the user left off.

[0104] C. Qualification Query Process

[0105]FIG. 7 illustrates one embodiment of a qualification query process 430 for identifying cruise sailings of interest. As illustrated in FIG. 7, after the prequalification process 420 has been completed, in one embodiment, the cruise selling and booking system 110 proceeds to a start state (block 700). Proceeding to the next state, the qualification query process 430 retrieves the information received in the customer information acquisition process 410 and the pre-qualification process 420 to prepare a qualification query (block 710). The qualification query process 430 may then prepare and process the qualification query (block 720) such that the qualification query acts as a filter to select cruises from the cruise line database 234 which may be of potential interest to the customer.

[0106] In one embodiment, the cruise selling and booking system 110 uses the information obtained from the cruise line database 234 to identify cruises which meet the restrictions included in the qualification query information. Additionally, the qualification query process 430 may retrieve cruise information from other cruise booking systems and databases. For example, in addition to using the locally maintained cruise information stored in the database collection 230, the qualification query process 430 may connect with a plurality of external databases, cruise lines, and/or travel agencies to acquire additional cruise information so as to create a more comprehensive query.

[0107] Upon collecting the cruise data, the qualification query process 430 retrieves matching cruise packages by applying the query criteria to obtain a subset of cruises (block 730). In one embodiment, the qualification query process 430 sorts the cruises using a variety of methods, such as, for example, by order of relevance, alphabetically, by price, and so forth. The results are then sent to the user (block 740) for display in an organized manner so as to limit the cruise choices to those cruises found to be most likely to meet the customer's specifications, and the qualification query process 430 proceeds to an end state (block 750).

[0108] In one embodiment, the qualification query results are formatted in a list summarizing the available cruise choices which are the most appropriate matches based on the customer's information and preferences. The summary list may include information regarding the cruise line, cruise ship, sail date, duration, cruise itinerary or description, and pricing range. The summary list provides an easy-to-visualize reference from which a user may compare individual cruise sailings. Additionally, each item in the summary list may be linked to extended information regarding particular aspects, features, or descriptions which when invoked, provide more in-depth information about the summary list item. Thus, the user is able to readily search through thousands of cruise packages and quickly obtain a comprehensive, yet consolidated, subset of cruise selections facilitating the customer cruise selection and booking process.

[0109] It is recognized that other embodiments of the qualification query process 430 may be used. For example, in one embodiment, the user may retrieve additional results from the current query and refine the search to include alternative query information without having to re-enter the query in its entirety. Further, in other embodiments, only a local database may be searched or only an external database may be searched.

[0110] Upon completion of the qualification query process 430, the qualification query results may be selected and compared using other features and functionalities of the cruise selling and booking system 110. The design of the cruise selling and booking system 110, therefore, may use the information from the qualification query process 430 with other components or modules of the cruise selling and booking system 110.

[0111] D. Additional Processes

[0112] The customer qualification module 360 may also include additional processes 440. In one embodiment, the customer qualification module 360 may include a summary list item process for retrieving and returning additional detailed information on a summary item. For example, a summary list item for a cruise ship may be linked to an image or map of the actual decks of the cruise ship for display to the user. This display provides detailed information about a potential cruise sailing. Likewise, a summary list item for an itinerary of a cruise sailing may provide a detailed listing of activities, events, and stopovers which are scheduled for a particular cruise sailing. Linking the summary list items to more detailed information enables the user to quickly access additional information about the qualified cruise sailings which may aid customers in making a decision as to which cruise best suits them.

[0113] The customer qualification module 360 may also include a price breakdown process which displays a breakdown of the pricing information for use by the travel agent when negotiating a booking price with the customer. The price breakdown process provides the travel agent with a tool to compare prices among the various cruises. The price breakdown process may be advantageously used by the travel agent to negotiate booking prices with the customer allowing the travel agent to present the customer with pricing choices for various quality and luxury options on the cruise sailings while at the same time maximizing the travel agent's commission. Additionally, the price breakdown process may indicate to the travel agent the lowest allowable prices for which a cruise may be booked.

[0114] In addition, the customer qualification module 360 may include an availability check process that displays the current availability of cabins or rooms on selected cruise ships. Using this information, the user may verify the availability of particular rooms or cabins which may be held, reserved, and/or booked. The availability check process may also assist the user in determining how full a cruise sailing remains and provide the user with an indication of the relative urgency of the customer's booking. For example, if a user knows that the cabins for which the customer is interested are only 25% booked, the urgency is low; whereas if the cabins are 98% booked, the user may urge the customer to book or at least hold a cabin.

[0115] V. Qualification Display

[0116]FIG. 8 illustrates one embodiment of qualification display web page 810 or customer preference display with a preferences section 820. In the exemplary qualification display 810, the preferences section 820 includes number of persons per cabin 821, dates of travel 822, home gateway 823, number of nights of travel 824, day of embarkation 825, and port of embarkation 826. In addition, the preferences section 820 enables the user to view a set of travel regions 827, itineraries 828, suppliers 829, ships 830, and/or ports 831. In addition, the user may search by supplier contract number 832. In one embodiment, the cruise selling and booking system 110 may generate such information from the database collection 230, however, it is recognized that in other embodiments, the information may be entered in whole or in part as separate data or not included at all.

[0117] In the exemplary qualification display 810, the user has restricted the search to cruises allowing two persons per cabin, sailing from Oct. 8, 1999 to Oct. 2, 1999 for seven nights, and departing on any day of the week.

[0118] When the agent has entered the appropriate information listed above, the agent computer 240 submits the customer's sailing preferences to the cruise selling and booking system 110. The customer qualification module 360 receives the information and searches for cruise sailings in the cruise line database 234 that fall within the range of the submitted criteria.

[0119] If no matching cruise sailings are found, the customer qualification module 360 may inform the agent computer 240 that no sailings were found or may return a set of “suggested” cruise sailings that do not meet the criteria but still may be of interest to the customer. Such “suggested” cruise sailings may be selected on the basis of several factors. For example, the customer qualification module 360 may suggest cruises sailings that depart on dates before or after those specified by the customer, cruise sailings that provide special discounts for attributes that match the customer's profile (e.g., children cruise free), cruise sailings that match preferences that the customer has previously requested, as well many other cruise sailings.

[0120] If matching cruise sailings are found, the customer qualification module 360 sends a set of matching cruise sailings to the user. As described above, the customer qualification module 360 may also include a set of suggested cruise sailings with the matching cruise sailings. FIG. 8 illustrates an exemplary set of cruise sailing search results that enables the user to view and select number of cruise sailings by marking the “check box” 842 that corresponds to the selected cruise package. An exemplary cruise sailings search results section 840 is shown in FIG. 8 wherein the first cruise package is the Carnival Tropicale ship scheduled to depart on Sep. 8, 2001 for a seven day cruise to the Western Caribbean. The user has selected the Carnival Tropicale, the Princess Dawn Princess, and the Royal Caribbean Explorer of the Seas.

[0121] It is recognized that FIG. 8 illustrates one embodiment of a set of cruise sailing search results and that in other embodiments, other sets of cruise sailing search results may be used. For example, in another embodiment, the set of cruise sailing search results may include information about pricing, such as Block pricing and/or FIT pricing information, as well time stamp information indicating when the information was last updated by time and date.

[0122] In one embodiment, the customer qualification module 360 may also include guidelines for ranking the order in which the cruise sailings are displayed and/or provide separate designations for “matching” and “suggested” cruise sailings, such as, for example, by availability, by departure date, by average cost, and so forth.

[0123] VI. Conclusion

[0124] While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Accordingly, the breadth and scope of the present invention should be defined in accordance with the following claims and their equivalents. 

What is claimed is:
 1. A method for selecting cruise sailings among a plurality of cruise packages utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs, the method comprising: providing an electronic cruise sailing database wherein the electronic cruise sailing database includes detailed information about a plurality of cruise sailings for a plurality of cruise lines; receiving a set of customer preferences from a remote user's web browser; searching the electronic cruise sailing database for a subset of the cruise sailings that correspond to the set of customer preferences; and returning the subset of the cruise sailings to the remote user's web browser for display as an electronic document.
 2. The method of claim 1, further comprising: formatting the subset of the cruise sailings in a table format.
 3. The method of claim 1, wherein searching the electronic cruise sailing database includes formulating a query to search for exact matches.
 4. The method of claim 1, wherein searching the electronic cruise sailing database includes formulating a query to search for close matches.
 5. The method of claim 1, wherein searching the electronic cruise sailing database includes formulating a query to search for exact matches and close matches.
 6. A cruise qualification system for managing and suggesting cruise sailing data implemented in a web server environment wherein a plurality of remote users using web browser programs electronically communicate with the cruise qualification system via a data communications network, the cruise qualification system comprising: an electronic cruise sailing database of cruise sailing data wherein the cruise sailing data includes data for at least two cruise lines; a customer query program module configured to send and receive queries to a user, wherein the queries include cruise preference data; and a cruise sailing search program module configured to search the electronic cruise sailing database for cruise sailing data that corresponds to the cruise preference data.
 7. The cruise qualification system of claim 6, further comprising a cruise data presentation program module configured to present the cruise sailing data that corresponds to the preference data, where in the cruise sailing data is presented in the form of an electronic document.
 8. The cruise qualification system of claim 6, wherein the cruise sailing data that corresponds to the cruise preference data includes exact matches.
 9. The cruise qualification system of claim 6, wherein the cruise sailing data that corresponds to the cruise preference data includes close matches.
 10. The cruise qualification system of claim 6, wherein the cruise sailing data that corresponds to the cruise preference data includes exact matches and close matches.
 11. The cruise qualification system of claim 6, further comprising an electronic customer database of customer data, wherein the cruise preference data includes at least a portion of the customer data.
 12. The cruise qualification system of claim 6, wherein the cruise sailing search program module is further configured to search electronic the cruise sailing database for data that corresponds to a customer's stored data.
 13. A method for searching a cruise sailing and booking system for cruise sailing data using a web browser program to electronically communicate with a remote cruise web server via a data communications network, the method comprising: submitting cruise preference data to the remote cruise web server, wherein the cruise preference data designates at least one of preferred sailing dates, preferred sailing length, preferred destination, and preferred sailing port; and receiving from the remote cruise web server a set of cruise sailing data that matches or closely matches at least a portion of the cruise preference data, wherein the set of cruise sailing data is retrieved from an electronic cruise sailing database of cruise sailing data for a plurality of cruise lines.
 14. The method of claim 13, further comprising selecting at least one of the set of cruise sailing data for additional detailed information.
 15. The method of claim 13, wherein the cruise sailing data includes at least one of itinerary information, cabin availability, and pricing information.
 16. The method of claim 13, wherein the set of cruise sailing data is retrieved based in part on customer information in the cruise preference data.
 17. A method for selecting cruise package information utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs, the method comprising: receiving a range of search criteria from a remote user's web browser program; obtaining cruise package information for a plurality of cruise lines that relates to the range of search criteria from an electronic database of cruise line data; and outputting the cruise package information to the remote user's web browser for display in an electronic document.
 18. In a network comprising a user node having a browser program coupled to the network, the user node providing request for information on the network, a network node comprising: a cruise booking node responsive to a request to obtain cruise package information from the user node that relates to a range of search criteria received from said user node, wherein the cruise package information includes information from at least two cruise lines.
 19. The network mode of claim 18, further comprising a cruise line database configured to store the cruise package and pricing information for the at least two cruise lines.
 20. A cruise selling system for selecting cruise package information implemented in a web server system wherein a plurality of remote users communicate via a data communications network with the cruise selling system using web browser programs, the cruise selling system comprising: an electronic database of cruise pricing information wherein the cruise pricing information comprises information from different cruise lines; a software module programmed to receive a range of search criteria; a software module programmed to obtain cruise price information from the electronic database related to the range of search criteria; and a software module programmed to output cruise package information.
 21. A system for finding cruise package information that corresponds to a user's preferences implemented in conjunction with a web browser program wherein the web browser program communicates with a remote cruise web server system via a data communications network, the system comprising: a user preference programming module configured to send a set of user preferences to the remote cruise web server system; and a display programming module configured to receive a display of cruise package and pricing information corresponding to the set of user preferences.
 22. The system of claim 21, wherein the cruise package and pricing information also corresponds in part to customer profile information stored in an electronic customer database of the remote cruise web server system.
 23. The system of claim 21, wherein the set of user preferences includes at least one of number of passengers per cabin, travel date, travel region, cruise line, cruise ship, and departure date.
 24. The system of claim 21, wherein the system communicates with the remote cruise web server system using standard web based protocols.
 25. A method for selecting cruise sailings among a plurality of cruise packages utilizing a cruise web server environment to electronically communicate via a data communications network with a plurality of remote users using web browser programs, the method comprising: means for providing an electronic cruise sailing database wherein the electronic cruise sailing database includes detailed information about a plurality of cruise sailings for a plurality of cruise lines; means for receiving a set of customer preferences from a remote user's web browser; means for searching the electronic cruise sailing database for a subset of the cruise sailings that correspond to the set of customer preferences; and means returning the subset of the cruise sailings to the remote user's web browser for display as an electronic document.
 26. A method for searching a cruise sailing and booking system for cruise sailing data using a web browser program to electronically communicate with a remote cruise web server via a data communications network, the method comprising: means for submitting cruise preference data to the remote cruise web server, wherein the cruise preference data designates at least one of preferred sailing dates, preferred sailing length, preferred destination, and preferred sailing port; and means for receiving from the remote cruise web server a set of cruise sailing data that matches or closely matches at least a portion of the cruise preference data, wherein the set of cruise sailing data is retrieved from an electronic cruise sailing database of cruise sailing data for a plurality of cruise lines. 